<?php
class ControllerCatalogAttribute extends Controller {
	private $error = array();

	public function index() {
		$this->load->language('catalog/attribute');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('catalog/attribute');

		$this->getList();
	}
	
	public $toInsert = [
        'Max высота всасывания',
        'Max высота отведения конденсата',
        'Max. Напор',
        'Ruspanel коллекция',
        'TiO2 (титан-оксидный) фильтр в комплекте',
        'VOC-фильтр (уголь + цеолит) в комплекте',
        'Аварийное отключение при сильном наклоне или опрокидывании',
        'Автоматическое отключение при заполнении емкости конденсатом',
        'Автоматическое отключение при исчерпании топлива',
        'Автоматическое отключение при низком уровне воды',
        'Автоотключение',
        'Аккумулятор',
        'Аналоги',
        'Аналоговые входы (датчики)',
        'Аналоговый выход',
        'Антибактериальное покрытие бака',
        'Антибактериальный фильтр в комплекте',
        'Армировка',
        'АРТИКУЛ ПРОИЗВОДИТЕЛЯ',
        'Асимметричность',
        'Аэромассаж',
        'Бачок в комплекте',
        'Бельевая корзина',
        'Ванна с гидромассажем',
        'Вариант размещения',
        'Вентиль (всасывание)',
        'Вентиль (нагнетание)',
        'Вентиль Rotalock на всасывающем патрубке',
        'Вентиль Rotalock на нагнетательном патрубке',
        'Вес',
        'Вес брутто, кг',
        'Вес внешнего блока',
        'Вес внешнего блока (нетто)',
        'Вес внутр. блока (нетто)',
        'Вес внутреннего блока',
        'Вес внутреннего блока нетто, кг',
        'Вес газа в баллоне, кг',
        'Вес декоративной панели (нетто)',
        'Вес нетто, кг',
        'Вес товара (нетто)',
        'Вид затвора',
        'Вид слива-перелива',
        'Вид топлива',
        'Вид управления',
        'Вид установки (крепления)',
        'Витраж',
        'Влагоудаление',
        'Внешний диаметр дымохода',
        'Внутренний диаметр трубы, мм',
        'Внутренний объём л',
        'Водопровод',
        'Возвратный механизм',
        'Воздуховод',
        'воздухообмен',
        'Возможна установка над стир. машиной',
        'Возможность установки крышки',
        'Возможность установки ТЭНа',
        'Временная задежка на включение  с',
        'Временная задержка',
        'Временная задержка сигнала аварии  с',
        'Время закрытия крана, сек',
        'Время нагрева воды до 75°С',
        'Время сушки',
        'Всасывающий трубопровод, дюйм',
        'Встроенные системы',
        'Встроенный бойлер косвенного нагрева',
        'Встроенный гигростат',
        'Встроенный замок',
        'Встроенный клапан обратной тяги',
        'Встроенный программатор "Program easy"',
        'Встроенный расширительный бак',
        'Встроенный сетчатый фильтр',
        'Встроенный тепловентилятор',
        'Вход контура рециркуляции',
        'Вход/выход ГВС',
        'Вход/выход теплообменника',
        'Входное напряжение, В',
        'Входы датчиков',
        'Выносной проводной датчик в комплекте',
        'Выпуск',
        'Высота',
        'Высота внешнего блока',
        'Высота внутр. блока',
        'Высота всасывания воды до уровня насоса не более',
        'Высота всасывания конденсата до уровня насоса не более',
        'Высота декоративной панели',
        'Высота компрессора, мм',
        'Высота маслоотделителя мм',
        'Высота отделителя жидкости мм',
        'Высота п/с, мм',
        'Высота подъёма конденсата от уровня насоса не более',
        'Высота товара',
        'Высота установки',
        'Высота фартука',
        'Выход 0-10 В, Iмакс',
        'Выходная мощность, ВА',
        'Выходное напряжение, В',
        'Выходной сигнал',
        'Выходы реле',
        'Вязкость, сSt/40C',
        'Габаритные размеры в упаковке, мм',
        'Габаритные размеры товара (В*Ш*Г)',
        'Газ. шланг с редуктором давления в комплекте',
        'Газопровод',
        'Гарантийный документ',
        'Гарантийный срок',
        'Гарантийный срок на бак',
        'Гарантия',
        'Гидромассаж',
        'Глубина',
        'Глубина внешнего блока',
        'Глубина внутр. блока',
        'Глубина декоративной панели',
        'Глубина товара',
        'Глубокий поддон',
        'год выпуска',
        'Год выхода модели',
        'Годовое энергопотребление (номинальное)',
        'Горячая вода',
        'Давление',
        'Давление настройки клапана Рн, бар',
        'Давление опрессовки',
        'Датчик тяги дымохода (отключает подачу газа)',
        'Датчик уровня кислорода',
        'Деодорирующий фильтр в комплекте',
        'Диам. подключения крана, дюйм',
        'диаметр',
        'Диаметр внутренний, дюйм (мм)',
        'Диаметр вход., дюйм (мм)',
        'Диаметр изолируемой трубы, дюймы',
        'Диаметр изолируемой трубы, мм',
        'Диаметр кабеля',
        'Диаметр канализационного соединения',
        'Диаметр наружный, дюйм (мм)',
        'Диаметр парового патрубка',
        'Диаметр подключения сифона',
        'Диаметр проходного отв-тия в запирающем шаре, мм',
        'Диаметр ресивера мм',
        'Диаметр трубы, дюймы',
        'Диаметр трубы, мм',
        'Диаметр фланца для чистки бойлера',
        'Диаметры труб, дюйм (мм)',
        'Диапазон давлений, бар',
        'Диапазон измерений',
        'Диапазон измерений, °C',
        'Диапазон настройки',
        'Диапазон произв-ти кВт',
        'Диапазон производительности  кВт',
        'Диапазон рабочих температур',
        'Диапазон регулирования тем-ры *С',
        'Диапазон регулирования температуры, С',
        'Диапазон тем-р кипения *С',
        'Дисплей',
        'Дифференциал',
        'Длина',
        'Длина в бухте, м',
        'Длина в отрезках, м',
        'Длина кабеля',
        'Длина капилярки м',
        'Длина капилярной трубки м',
        'Длина подачи (по горизонтали) не более',
        'Длина струи, м',
        'Длина ТЭНа, мм',
        'Длинна душевого шланга',
        'Доля полезной проходной пов-ти  (%)',
        'Дополнительная информация',
        'Допустимая влажность окружающей среды',
        'Допустимая относительная влажность, без образования конденсата',
        'Допустимое давление',
        'Допустимый уровень масла в картере компр-ра',
        'ДУ',
        'Дымоход',
        'Емкость (внутр. объем)',
        'Емкость конденсатора',
        'Заводская настройка бар',
        'завоская настройка (бар)',
        'Заменители',
        'Заправка масла, литр',
        'Защита кнопок управления от детей',
        'Защита от включения без воды',
        'Защита от конденсата',
        'Защита от накипи',
        'Защита от перегрева',
        'Защита от протечек',
        'Защитная решетка',
        'Зеркало в комплекте',
        'Значение коэфф-та Kv, м3/ч',
        'Измельчитель отходов',
        'Измерительная головка',
        'Инвертор',
        'Инверторная технология',
        'Индикация включения',
        'Индикация заполнения емкости',
        'Индикация относит. влажности воздуха (вблизи прибора)',
        'Индикация температуры воздуха (вблизи прибора)',
        'Индикация температуры воздуха (вблизи пульта управления)',
        'Индикация температуры нагрева',
        'Индикация уровня заряда батареи',
        'Интегрированная раковина',
        'Интерьерная подсветка',
        'Инфракрасная сауна',
        'Исполнение',
        'Используемый газ',
        'Используемый принцип увлажнения воздуха',
        'Испытательное давление',
        'Источник питания фотоэлемента',
        'Источники потребления',
        'Кабель',
        'Кабель для подключения к системе отопления',
        'Каркас в комплекте',
        'Клапан обратного потока',
        'Класс защиты',
        'Класс защиты двигателя',
        'Класс защиты корпуса',
        'Класс пылевлагозащищенности',
        'Класс эксплуатации',
        'Класс энергоэффективности',
        'КОД ЗАКАЗА',
        'Код МОР',
        'Кол-во внутр. блоков',
        'Кол-во заправляемого масла мл.',
        'Кол-во ступеней',
        'Кол-во фильтрующих блоков шт.',
        'Количество в упаковке',
        'Количество выходов коллектора',
        'Количество датчиков',
        'Количество кранов',
        'Количество метров в упаковке',
        'Количество режимов нагрева',
        'Количество режимов осушения',
        'Количество режимов производ-ности',
        'Количество режимов увлажнения',
        'Количество секций',
        'Количество ступеней очистки',
        'Количество теплообменников',
        'Коллекции AM.PM',
        'Коллекции Boheme',
        'Коллекции Wasserkraft',
        'Коллекции мебели Aquanet',
        'Коллекции мебели Aqwella',
        'Коллекции мебели Bas',
        'Коллекции мебели Opadiris',
        'Коллекции мебели Roca',
        'Коллекции мебели Акватон',
        'Коллекции мебели Оника',
        'Коллекция мебели Am.pm',
        'Коллекция мебели Edelform',
        'Коллекция мебели EFP',
        'Коллекция мебели Kolpa',
        'Коллекция мебели Аква Родос',
        'Коллекция мебели Бриклаер',
        'Командные сигналы',
        'Комплектация',
        'Конструкция',
        'Конструкция корпуса',
        'Контроль допустимого уровня CO2 в помещении',
        'Контроль наличия пламени (отключает подачу топлива)',
        'Контроль обрыва цепи датчиков',
        'Контур водяного отопления',
        'Контур горячего водоснабжения ГВС',
        'Контур отопления',
        'Корпус',
        'КПД номинальный, %',
        'Крыло',
        'Крышка-сидение в комплекте',
        'Латунь',
        'Макс. глубина погружения',
        'Макс. давление в водопроводе',
        'Макс. давление на входе',
        'Макс. давление системы отопления',
        'Макс. диаметр пропускаемых частиц',
        'Макс. длина магистрали (трассы)',
        'Макс. количество кранов',
        'Макс. краткосрочная температура',
        'Макс. мощность основного прибора',
        'Макс. нагрузка',
        'Макс. напор',
        'Макс. напор жидкости',
        'Макс. наружняя температура',
        'Макс. перепад высот между внутр. и внешним блоками',
        'Макс. площадь поверхности обогрева',
        'Макс. полезная тепловая мощность в режиме ГВС',
        'Макс. потребляемая мощность',
        'Макс. потребляемая мощность, Вт',
        'Макс. производ-ность верхнего теплообменника (70/10/45°С)',
        'Макс. производ-ность л/мин',
        'Макс. производ-ность л/сутки',
        'Макс. производ-ность л/час',
        'Макс. производ-ность м3/час',
        'Макс. производ-ность нижнего теплообменника (70/10/45°С)',
        'Макс. производ-ность обогрева',
        'Макс. производ-ность осушения',
        'Макс. производ-ность охлаждения',
        'Макс. производ-ность при ΔТ=25°С, л/мин',
        'Макс. рабочая температура',
        'Макс. рабочее давление',
        'Макс. рабочее давление в бойлере',
        'Макс. рабочее давление в теплообменнике',
        'Макс. расеиваемая мощность',
        'Макс. расход воды',
        'Макс. расход воздуха',
        'Макс. скорость потока',
        'Макс. температура воды',
        'Макс. температура жидкости',
        'Макс. температура окружающей среды',
        'Макс. температура теплоносителя',
        'Макс. температура теплообменника',
        'Макс. тепловая мощность',
        'Макс. ток',
        'Макс. уровень шума внешнего блока',
        'Макс. уровень шума внутр. блока',
        'Макс. эффективная высота установки',
        'Максимальная длина трубопровода',
        'Максимальная мощность, кВА',
        'Максимальная нагрузка',
        'Максимальная рабочая температура',
        'Максимальная температура перемещаемого воздуха',
        'Максимальная температура перемещаемого воздуха при регулировании',
        'Максимальная температура перемещаемого воздуха, 120 мин',
        'Максимальное энергопотребление, ВА',
        'Максимальный ток',
        'Максимальный ток входа, А',
        'Максимальный ток, А',
        'Максимальный уровень шума',
        'Материал',
        'Материал бака',
        'Материал внутреннего покрытия бака',
        'Материал горелки',
        'Материал задней стенки',
        'Материал клавиши смыва (поверхность)',
        'Материал корпуса',
        'Материал крпуса',
        'Материал крышки-сидения',
        'Материал подголовника',
        'Материал поддона',
        'Материал раковины',
        'Материал решетки',
        'Материал сиденья',
        'Материал столешницы',
        'Материал теплообменника',
        'Материал уплотнителей o-ring',
        'Материал уплотнителей штока',
        'Материал элемента трубопровода',
        'Мах.грузоподъёмность',
        'Межосевое расстояние',
        'Метод крепления',
        'Микролифт',
        'Мин. давление в водопроводе',
        'Мин. диф-л давления	открывания [kPa]',
        'Мин. наружняя температура',
        'Мин. рабочая температура',
        'Мин. рабочая температура воздуха для внешнего блока',
        'Мин. расход воды для переключения в режим ГВС',
        'Минимальный расход воздуха',
        'Минимальный статический подпор',
        'Минимальный ток двигателя',
        'Минимальный уровень шума',
        'Модель',
        'Мокрый ротор',
        'Монтаж',
        'Мощность',
        'Мощность выходная, Вт',
        'Мощность двигателя вентилятора',
        'Мощность на валу',
        'Мощность на обогрев',
        'Мощность на охлаждение',
        'Мощность нагревателя',
        'Мощность оттайки, кВт',
        'Мощность преднагревателя',
        'Мощность присоединяемого кондиционера не более',
        'Мощность рассеяния, Вт',
        'Мощность ТЭНа',
        'Мощность электрического нагревателя',
        'Мощность, двигатели',
        'Мощность, предподогрев',
        'Моющийся воздушный фильтр в комплекте',
        'Набор крепежных элементов в комплекте',
        'Нагнетательный трубопровод, дюйм',
        'Нагрев воды (дельта температуры)',
        'Нагрев воздуха (дельта температуры)',
        'Нагрузка (А)',
        'Название цвета',
        'Назначение',
        'Назначение крепежа',
        'Назначение фитинга',
        'Назначение/применение',
        'НАИМЕНОВАНИЕ',
        'Наличие крыши',
        'Наличие термостата',
        'Наполнитель',
        'Направление подключения',
        'Напряжение',
        'Напряжение В',
        'Напряжение датчика, В',
        'Напряжение контроллера, В',
        'Напряжение крана, В',
        'Напряжение электропитания',
        'Напряжение, В',
        'нижняя уставка',
        'Ножки в комплекте',
        'Номинальная производительность (R134a), Вт',
        'Номинальная производительность (R22), Вт',
        'Номинальная производительность (R404A/R507), Вт',
        'Номинальная средняя потребляемая мощность',
        'Номинальная средняя производ-ность обогрева',
        'Номинальная средняя производ-ность охлаждения',
        'Номинальная тепловая мощность верхнего теплообменника (70/10/45°С)',
        'Номинальная тепловая мощность нижнего теплообменника (70/10/45°С)',
        'Номинальное давление на выходе',
        'Номинальное давление природного газа',
        'Номинальное давление сжиженного газа',
        'Номинальный ток',
        'Номинальный ток, А',
        'Нормативный срок службы',
        'Область применения',
        'Обогрев',
        'Обратная линия',
        'Объем',
        'Объём в упаковке, м3',
        'Объем воды в радиаторе',
        'Объем встроенного бойлера косвенного нагрева',
        'Объем встроенного расширительного бака',
        'Объем постаки',
        'Объем рабочий, см3',
        'Объем топливного бака',
        'Объем флеш памяти',
        'Объем цилиндра, см3',
        'Объём, куб.м.',
        'Объемная подача, куб.м./ч.',
        'Опорная конструкция (ножки) в комплекте',
        'Ориентация',
        'Оснащение',
        'Особенности/назначение',
        'Отверстия под смеситель',
        'Отдельный вывод отработанных газов из камеры сгорания',
        'Относительная влажность%',
        'Паропроизводительность',
        'Питание датчика, 24В DC',
        'Плавный пуск',
        'Площадь верхнего теплообменника',
        'Площадь до',
        'Площадь нижнего теплообменника',
        'Площадь обогрева',
        'Площадь пов-ти теплообмена м2',
        'Площадь фильтрующей пов-ти см2',
        'Поворотный',
        'Поглотительная способность по воде г',
        'Погружная гильза датчика бойлера',
        'Подающая/обратная линии системы отопления',
        'Подвод воды',
        'Поддон',
        'Подключение',
        'Подключение к электросети',
        'Подключение термостата',
        'Подключение ТЭНа',
        'Подмес воздуха с улицы',
        'Подсветка дисплея',
        'Подсветка резервуара для воды',
        'Подсоединение газа к котлу',
        'Покрытие',
        'Покрытие корпуса',
        'Покрытие фасада',
        'Полезная тепловая мощность в режиме отопления',
        'Полезный объем',
        'Полочка п/с',
        'Поплавковый выключатель',
        'Порт для перепускного клапана',
        'Порты и подключения',
        'Посадочный диаметр вентиляционного канала',
        'Потребительский класс',
        'Потребляемая мощность в режиме "без нагрева"',
        'Потребляемая мощность на обогрев',
        'Потребляемая мощность на охлаждение',
        'Потребляемая мощность, Вт',
        'Потребляемая мощность:',
        'Предел вакуумирования',
        'Предоплата',
        'Предохранитель',
        'Предохранительный клапан давления',
        'Применение',
        'Применение и соответствие',
        'Применение трубы',
        'Применимость к ваннам',
        'Присоединительные раз-ры (вход/выход)',
        'Присоединительный размер мм/дюйм',
        'Программируемый',
        'ПРОИЗВОДИТЕЛЬ',
        'Производительность',
        'Производительность (при DТ=15К), кВт',
        'ПРОИЗВОДИТЕЛЬНОСТЬ R404A в кВт',
        'Производительность кВт',
        'Производительность на жидкостной линии кВт',
        'Производительность по воздуху (вн/внеш), куб.м./ч.',
        'Производительность по теплу',
        'Производительность по холоду',
        'Пропускная способность Kvs',
        'Противоаллергенный HEPA-фильтр в комплекте',
        'Пульт ДУ',
        'Пульт управления в комплекте',
        'Пусковой ток',
        'Рабочая тем-ра/тем-ра раб.среды *С',
        'Рабочее давление',
        'Радиус поддона',
        'Размер без упаковки (Д/В/Ш) мм',
        'Размер без упаковки(длина/высота/ширина), мм',
        'Размер в упаковке Д/В/Ш, мм',
        'Размер канала',
        'Размер лейки верхнего душа',
        'Размер лейки ручного душа',
        'Размер листа, мм',
        'размеры',
        'Размеры без упаковки Д/В/Ш, мм',
        'Размеры внешнего блока',
        'Размеры внутреннего блока',
        'Размеры робота',
        'Размеры.',
        'Разрешающая способность',
        'Раковина в комплекте',
        'Расположение слива',
        'Расположение смесителя',
        'Расход воды',
        'Расход воздуха',
        'Расход воздуха/воздушный поток, м3/ч',
        'Расход газа',
        'Расход природного газа, до',
        'Расход природного газа, от',
        'Расход сжиженного газа, до',
        'Расход сжиженного газа, от',
        'Расчетная номинальная мощность',
        'Расчетное количество человек для принятия душа (при среднем расходе)',
        'Расчетное рабочее давление в водопроводе',
        'Регулировка значения относит. влажности',
        'Регулировка скорости вращения вентилятора',
        'Регулировка температуры нагрева',
        'Регулировка температуры охлаждения',
        'Регулировка яркости пламени',
        'Регулировочные ножки в комплекте',
        'Режим "без нагрева"',
        'Режим "зимний"',
        'Режим "летний"',
        'Режим SLEEP',
        'Режим автоочистки',
        'Режим обогрева',
        'Режим осушения',
        'Режим охлаждения',
        'Режим работы с водяным теплым полом "Affect Floor"',
        'Режим смыва',
        'Резьба входного патрубка',
        'Резьба выходного патрубка',
        'Резьба присоединения',
        'Резьба присоединения насоса',
        'Резьба присоединения радиатора',
        'Резьбовое соединение',
        'Рекомендуемая нагрузка по весу',
        'Ремонтопригодность',
        'Родина бренда',
        'Розжиг горелки',
        'Сбросной клапан в комплекте',
        'Светильники в комплекте',
        'Серебряный стержень для обеззараживания воды в комплекте',
        'Серия',
        'Сертификат пожаробезопасности',
        'Сетевой кабель с вилкой',
        'Сигнализация',
        'Система антизамерзания',
        'Система дымоудаления',
        'Система погодозависимого управления температурой',
        'Система самодиагностики неисправности',
        'Скорость вращения об/мин',
        'Смеситель в комплекте',
        'Совместимость',
        'Совместимость с типом масла',
        'Состав',
        'Способ нагрева',
        'Способ передачи сигнала',
        'Средний полный ресурс (циклов)',
        'Средний расход топлива',
        'Средняя наработка на отказ (циклов)',
        'Стандартные размеры',
        'Статическое давление',
        'Степень защиты / Класс защиты',
        'Стилистика дизайна',
        'Стиль п/с',
        'Сточный комплект в комплекте',
        'Страна',
        'страна производитель',
        'Страна производства',
        'Страна сборки',
        'Ступени мощности нагрева',
        'Таймер на включение',
        'Таймер на отключение',
        'Температура воздуха на выходе',
        'Температура окружающей среды до',
        'Температура плавления, °C',
        'Температура текучести, °C',
        'Теплопроизводительность, BTU',
        'Теплопроизводительность, кВт',
        'Тип',
        'Тип аксессуаров',
        'Тип внутреннего блока',
        'Тип выравнивания',
        'Тип датчика',
        'Тип изделия',
        'Тип кабеля',
        'Тип кабины',
        'Тип камеры сгорания',
        'Тип коллектора',
        'Тип компрессора',
        'Тип конструкции вентилятора',
        'Тип котла',
        'Тип крепежа',
        'Тип монтажа',
        'Тип нагревательного элемента',
        'Тип нагревателя',
        'Тип насоса',
        'Тип открывания',
        'Тип п/с',
        'Тип парораспределителя',
        'Тип резьбы',
        'Тип ресивера',
        'Тип сервопривода',
        'Тип соединения',
        'Тип соединения патрубка подачи масла',
        'Тип соединения с компрессором',
        'Тип терморегулятора',
        'Тип термостата',
        'Тип ТЭНа',
        'Тип фреона',
        'Тип хладагента',
        'Тип чаши',
        'Тип элемента питания',
        'Типоразмер',
        'Ток',
        'Ток 1',
        'Ток на обогрев',
        'Ток на охлаждение',
        'Ток, электрический нагреватель',
        'Толщина',
        'Толщина внутреннего покрытия бака',
        'Толщина стенки,  (мм)',
        'Толщина теплоизоляции',
        'Точность',
        'Точность установки температуры',
        'Трубный диаметр',
        'Турецкая баня',
        'Угловая конструкция',
        'Удаленное управление',
        'Управление',
        'Управление голосом',
        'Управление смывом',
        'Управление через мобильное приложение по Wi-Fi',
        'Уровень SEER',
        'Уровень звукового давления',
        'Уровень звукового давления на расстоянии 10м',
        'Уровень звукового давления на расстоянии 3м',
        'Уровень звукового давления на расстоянии 4м',
        'Уровень звукового давления, дБА',
        'Уровень шума',
        'Уровень шума внутреннего блока, дБ(А)',
        'Уровень шума на входе',
        'Уровень шума на выходе',
        'Уровень шума на расстоянии 1м',
        'Уровень шума на расстоянии 3м',
        'Уровень шума на расстоянии 5м',
        'Условия испытаний',
        'Установка',
        'Установка бачка',
        'Установка реального времени',
        'Установка сиденья',
        'Установочные размеры/монтаж',
        'Устройство слива в комплекте',
        'Фазность',
        'Фиксированая уставка откл/вкл бар',
        'Фильтр предварительной очистки в комплекте',
        'Фильтр-картридж для умягчения воды в комплекте',
        'Фильтрующий элемент',
        'Фильтры очистки воздуха',
        'Финская сауна',
        'Фирма производитель',
        'Фланец для чистки бойлера',
        'Форма',
        'Форма корпуса',
        'Форма п/сушителя',
        'Фронтальная панель в комплекте',
        'Функция автоматического удаления конденсата с теплым воздухом',
        'Функция авторестарта по газу / электричеству',
        'Функция адаптации к малым системам отопления "SSAF"',
        'Функция ароматизации воздуха',
        'Функция бесшумной работы "Silent Pro"',
        'Функция биде',
        'Функция будильника',
        'Функция динамической стабилизации ГВС',
        'Функция ингаляции',
        'Функция интенсивного охлаждения',
        'Функция ионизации воздуха',
        'Функция предварительного нагрева ГВС',
        'Функция реверса направления потока',
        'Функция регулятора',
        'Функция форсированного нагрева ГВС "FHF"',
        'Хладагент',
        'Холодная вода',
        'Холодопроизвод-ть (при DT=10K), кВт',
        'Холодопроизводительность, BTU',
        'Холодопроизводительность, Вт',
        'Холодопроизводительность, кВт',
        'Цвет',
        'Цвет витража',
        'Цвет декор.вставки',
        'Цвет декоративной панели',
        'Цвет изделия',
        'Цвет карниза',
        'Цвет клавиши смыва',
        'Цвет корпуса',
        'Цвет корпуса внешнего блока',
        'Цвет корпуса внутр. блока',
        'Цвет п/с',
        'Цвет подголовника',
        'Цвет профиля',
        'Цвет сиденья',
        'Цвет элемента Monolith',
        'Цена указана...',
        'Циркуляционная линия',
        'Цифровой дисплей',
        'Цифровые входы',
        'Частота',
        'Частота вращения',
        'Число датчиков',
        'Число контуров',
        'Число секций',
        'Число цилиндров',
        'Число чаш',
        'Шаг ребра, мм',
        'Ширина',
        'Ширина внешнего блока',
        'Ширина внутр. блока',
        'Ширина декоративной панели',
        'Ширина п/с, мм',
        'Ширина столешницы, см',
        'Ширина товара',
        'Шланг для вывода горячего воздуха в комплекте',
        'Шланг для удаления конденсата в комплекте',
        'Электрическая мощность',
        'электропитание',
        'Электропитание, В',
        'Электропитание, В/Гц/ф',
        'Элемент автоматики',
        'Элемент арматуры котельной',
        'Элемент мебели',
        'Элемент пред. арматуры',
        'Элемент системы',
        'Элемент теплого пола',
        'Элемент трубопровода',
        'Элементы контроля уровня масла',
        'Энергопотребление (P1)',
        'Эффективен для помещ. площадью до',
        'Эффективная потребляемая мощность',
        'Модификация',
    ];

	public function add() {
		$this->load->language('catalog/attribute');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('catalog/attribute');

		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
		    /*$insert = array(
                'attribute_description' => array(
                    '1' => array(
                        'name' => '',
                    ),
                    '2' => array(
                        'name' => '',
                    ),
                ),
                'attribute_group_id' => 7,
                'sort_order' => '',
            );

            $this->toInsert = array_unique($this->toInsert);

            foreach ($this->toInsert as $name) {
                foreach ($insert['attribute_description'] as &$elem) {
                    $elem['name'] = $name;
                }

                $this->model_catalog_attribute->addAttribute($insert);
                //break;
            }*/
            
			$this->model_catalog_attribute->addAttribute($this->request->post);

			$this->session->data['success'] = $this->language->get('text_success');

			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			$this->response->redirect($this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true));
		}

		$this->getForm();
	}

	public function edit() {
		$this->load->language('catalog/attribute');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('catalog/attribute');

		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validateForm()) {
			$this->model_catalog_attribute->editAttribute($this->request->get['attribute_id'], $this->request->post);

			$this->session->data['success'] = $this->language->get('text_success');

			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			$this->response->redirect($this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true));
		}

		$this->getForm();
	}

	public function delete() {
		$this->load->language('catalog/attribute');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('catalog/attribute');

		if (isset($this->request->post['selected']) && $this->validateDelete()) {
			foreach ($this->request->post['selected'] as $attribute_id) {
				$this->model_catalog_attribute->deleteAttribute($attribute_id);
			}

			$this->session->data['success'] = $this->language->get('text_success');

			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			$this->response->redirect($this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true));
		}

		$this->getList();
	}

	protected function getList() {
		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'ad.name';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
		} else {
			$page = 1;
		}

		$url = '';

		if (isset($this->request->get['sort'])) {
			$url .= '&sort=' . $this->request->get['sort'];
		}

		if (isset($this->request->get['order'])) {
			$url .= '&order=' . $this->request->get['order'];
		}

		if (isset($this->request->get['page'])) {
			$url .= '&page=' . $this->request->get['page'];
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true)
		);

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('heading_title'),
			'href' => $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true)
		);

		$data['add'] = $this->url->link('catalog/attribute/add', 'user_token=' . $this->session->data['user_token'] . $url, true);
		$data['delete'] = $this->url->link('catalog/attribute/delete', 'user_token=' . $this->session->data['user_token'] . $url, true);

		$data['attributes'] = array();

		$filter_data = array(
			'sort'  => $sort,
			'order' => $order,
			'start' => ($page - 1) * $this->config->get('config_limit_admin'),
			'limit' => $this->config->get('config_limit_admin')
		);

		$attribute_total = $this->model_catalog_attribute->getTotalAttributes();

		$results = $this->model_catalog_attribute->getAttributes($filter_data);

		foreach ($results as $result) {
			$data['attributes'][] = array(
				'attribute_id'    => $result['attribute_id'],
				'name'            => $result['name'],
				'attribute_group' => $result['attribute_group'],
				'sort_order'      => $result['sort_order'],
				'edit'            => $this->url->link('catalog/attribute/edit', 'user_token=' . $this->session->data['user_token'] . '&attribute_id=' . $result['attribute_id'] . $url, true)
			);
		}
		
		if (isset($this->error['warning'])) {
			$data['error_warning'] = $this->error['warning'];
		} else {
			$data['error_warning'] = '';
		}

		if (isset($this->session->data['success'])) {
			$data['success'] = $this->session->data['success'];

			unset($this->session->data['success']);
		} else {
			$data['success'] = '';
		}

		if (isset($this->request->post['selected'])) {
			$data['selected'] = (array)$this->request->post['selected'];
		} else {
			$data['selected'] = array();
		}

		$url = '';

		if ($order == 'ASC') {
			$url .= '&order=DESC';
		} else {
			$url .= '&order=ASC';
		}

		if (isset($this->request->get['page'])) {
			$url .= '&page=' . $this->request->get['page'];
		}

		$data['sort_name'] = $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . '&sort=ad.name' . $url, true);
		$data['sort_attribute_group'] = $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . '&sort=attribute_group' . $url, true);
		$data['sort_sort_order'] = $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . '&sort=a.sort_order' . $url, true);

		$url = '';

		if (isset($this->request->get['sort'])) {
			$url .= '&sort=' . $this->request->get['sort'];
		}

		if (isset($this->request->get['order'])) {
			$url .= '&order=' . $this->request->get['order'];
		}

		$pagination = new Pagination();
		$pagination->total = $attribute_total;
		$pagination->page = $page;
		$pagination->limit = $this->config->get('config_limit_admin');
		$pagination->url = $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url . '&page={page}', true);

		$data['pagination'] = $pagination->render();

		$data['results'] = sprintf($this->language->get('text_pagination'), ($attribute_total) ? (($page - 1) * $this->config->get('config_limit_admin')) + 1 : 0, ((($page - 1) * $this->config->get('config_limit_admin')) > ($attribute_total - $this->config->get('config_limit_admin'))) ? $attribute_total : ((($page - 1) * $this->config->get('config_limit_admin')) + $this->config->get('config_limit_admin')), $attribute_total, ceil($attribute_total / $this->config->get('config_limit_admin')));

		$data['sort'] = $sort;
		$data['order'] = $order;
		
		$data['header'] = $this->load->controller('common/header');
		$data['column_left'] = $this->load->controller('common/column_left');
		$data['footer'] = $this->load->controller('common/footer');

		$this->response->setOutput($this->load->view('catalog/attribute_list', $data));
	}

	protected function getForm() {
		$data['text_form'] = !isset($this->request->get['attribute_id']) ? $this->language->get('text_add') : $this->language->get('text_edit');

		if (isset($this->error['warning'])) {
			$data['error_warning'] = $this->error['warning'];
		} else {
			$data['error_warning'] = '';
		}

		if (isset($this->error['name'])) {
			$data['error_name'] = $this->error['name'];
		} else {
			$data['error_name'] = array();
		}

		if (isset($this->error['attribute_group'])) {
			$data['error_attribute_group'] = $this->error['attribute_group'];
		} else {
			$data['error_attribute_group'] = '';
		}

		$url = '';

		if (isset($this->request->get['sort'])) {
			$url .= '&sort=' . $this->request->get['sort'];
		}

		if (isset($this->request->get['order'])) {
			$url .= '&order=' . $this->request->get['order'];
		}

		if (isset($this->request->get['page'])) {
			$url .= '&page=' . $this->request->get['page'];
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true)
		);

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('heading_title'),
			'href' => $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true)
		);

		if (!isset($this->request->get['attribute_id'])) {
			$data['action'] = $this->url->link('catalog/attribute/add', 'user_token=' . $this->session->data['user_token'] . $url, true);
		} else {
			$data['action'] = $this->url->link('catalog/attribute/edit', 'user_token=' . $this->session->data['user_token'] . '&attribute_id=' . $this->request->get['attribute_id'] . $url, true);
		}

		$data['cancel'] = $this->url->link('catalog/attribute', 'user_token=' . $this->session->data['user_token'] . $url, true);

		if (isset($this->request->get['attribute_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
			$attribute_info = $this->model_catalog_attribute->getAttribute($this->request->get['attribute_id']);
		}

		$this->load->model('localisation/language');

		$data['languages'] = $this->model_localisation_language->getLanguages();

		if (isset($this->request->post['attribute_description'])) {
			$data['attribute_description'] = $this->request->post['attribute_description'];
		} elseif (isset($this->request->get['attribute_id'])) {
			$data['attribute_description'] = $this->model_catalog_attribute->getAttributeDescriptions($this->request->get['attribute_id']);
		} else {
			$data['attribute_description'] = array();
		}

		if (isset($this->request->post['attribute_group_id'])) {
			$data['attribute_group_id'] = $this->request->post['attribute_group_id'];
		} elseif (!empty($attribute_info)) {
			$data['attribute_group_id'] = $attribute_info['attribute_group_id'];
		} else {
			$data['attribute_group_id'] = '';
		}

		$this->load->model('catalog/attribute_group');

		$data['attribute_groups'] = $this->model_catalog_attribute_group->getAttributeGroups();

		if (isset($this->request->post['sort_order'])) {
			$data['sort_order'] = $this->request->post['sort_order'];
		} elseif (!empty($attribute_info)) {
			$data['sort_order'] = $attribute_info['sort_order'];
		} else {
			$data['sort_order'] = '';
		}

		$data['header'] = $this->load->controller('common/header');
		$data['column_left'] = $this->load->controller('common/column_left');
		$data['footer'] = $this->load->controller('common/footer');

		$this->response->setOutput($this->load->view('catalog/attribute_form', $data));
	}

	protected function validateForm() {
		if (!$this->user->hasPermission('modify', 'catalog/attribute')) {
			$this->error['warning'] = $this->language->get('error_permission');
		}

		if (!$this->request->post['attribute_group_id']) {
			$this->error['attribute_group'] = $this->language->get('error_attribute_group');
		}

		foreach ($this->request->post['attribute_description'] as $language_id => $value) {
			if ((utf8_strlen($value['name']) < 1) || (utf8_strlen($value['name']) > 64)) {
				$this->error['name'][$language_id] = $this->language->get('error_name');
			}
		}

		return !$this->error;
	}

	protected function validateDelete() {
		if (!$this->user->hasPermission('modify', 'catalog/attribute')) {
			$this->error['warning'] = $this->language->get('error_permission');
		}

		$this->load->model('catalog/product');

		foreach ($this->request->post['selected'] as $attribute_id) {
			$product_total = $this->model_catalog_product->getTotalProductsByAttributeId($attribute_id);

			if ($product_total) {
				$this->error['warning'] = sprintf($this->language->get('error_product'), $product_total);
			}
		}

		return !$this->error;
	}

	public function autocomplete() {
		$json = array();

		if (isset($this->request->get['filter_name'])) {
			$this->load->model('catalog/attribute');

			$filter_data = array(
				'filter_name' => $this->request->get['filter_name'],
				'start'       => 0,
				'limit'       => 5
			);

			$results = $this->model_catalog_attribute->getAttributes($filter_data);

			foreach ($results as $result) {
				$json[] = array(
					'attribute_id'    => $result['attribute_id'],
					'name'            => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')),
					'attribute_group' => $result['attribute_group']
				);
			}
		}

		$sort_order = array();

		foreach ($json as $key => $value) {
			$sort_order[$key] = $value['name'];
		}

		array_multisort($sort_order, SORT_ASC, $json);

		$this->response->addHeader('Content-Type: application/json');
		$this->response->setOutput(json_encode($json));
	}
}
